jQuery.offset()方法介绍

jQuery.offset()方法介绍

jQuery.offset()方法获取或设置元素的坐标,坐标相对于文档。

.offset()获取一个元素相对于文档(document)的当前位置,相对于文档(document)的当前位置。

  • 当通过全局操作(特别是通过拖拽操作)将一个新的元素放置到另一个已经存在的元素的上面时,若要取得这个新的元素的位置,那么使用 .offset() 更合适。
  • 当把一个新元素放在同一个容器里面另一个元素附近时,用.position()更合适。(和offset()使用一样,有一个left和top属性,.position().left/.position().top或者设置.position({left: 30,top: 30})

注意:jQuery不支持获取隐藏元素的偏移坐标。同样的,也无法取得隐藏元素的 border, margin, 或 padding 信息。
若元素的属性设置的是 visibility:hidden,那么我们依然可以取得它的坐标。但是若设置的属性是 display:none,由于在绘制 DOM 树时根本就不绘制该元素,所以它的位置属性值是 undefined。

  • .offset( coordinates )

coordinates
类型: PlainObject
一个包含top 和 left属性的对象,用整数指明元素的新顶部和左边坐标。

.offset({left: xx,top: xx})使用键值对方式赋值

  • .offset( function(index, coords) )

    function(index, coords)
    类型: Function()
    返回用于设置坐标的一个函数。接收元素在匹配的元素集合中的索引位置作为第一个参数,和当前坐标作为第二个参数。这个函数应该返回一个包含top 和 left属性的对象。

.offset()方法允许我们重新设置元素的位置,这个元素的位置是相对于document对象的。如果对象原先的.position()样式属性是static的话,会被改成relative来实现重定位。

文章目录
,